/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package controller;

import daoimpl.AgendarConsultaDaoImpl;
import java.util.Date;
import java.util.List;
import javax.swing.JOptionPane;
import model.AgendarConsulta;

/**
 *
 * @author Rodrigo
 */
public class ControllerAgendarConsulta {

    private AgendarConsultaDaoImpl dao;

    public ControllerAgendarConsulta() {
        dao = new AgendarConsultaDaoImpl();
    }

    public boolean salvarConsulta(AgendarConsulta a) {
        if (a.getDataConsulta().getTime() > new Date().getTime()) {
            if (dao.isVerificaConsula(a)) {
                JOptionPane.showMessageDialog(null, "Ja existe uma consulta marcada para essa data e hora !!!");
            } else {                
                dao.salvar(a);
                JOptionPane.showMessageDialog(null, "Consulta Marcada com sucesso !!!");
                return true;
            }
        } else {
            JOptionPane.showMessageDialog(null, "Data Informada não é valida");
        }
        
        return false;

    }
    
    public void alterar(AgendarConsulta a){
        dao.alterar(a);
         JOptionPane.showMessageDialog(null, "Consulta alterada com sucesso !!!");
    }
   
    
    public List<AgendarConsulta> listarTodos(){
        return dao.consultarTodasConsultas();
    }
    
     public List<AgendarConsulta> consultaComFiltro(String nome, Date data){
         List<AgendarConsulta> listaConsulta = dao.consultaComFiltro(nome,data);
         if(listaConsulta.isEmpty()){
             JOptionPane.showMessageDialog(null,"Nenhum filtro encontrado");
         }         
        return listaConsulta;
    }
     
     public void deletar(AgendarConsulta a){
         dao.deletar(a);
     }

}
